Apparatus, system, and method for automating adapter replacement

ABSTRACT

An apparatus, system, and method are disclosed for automating adapter replacement. An input module receives an identification of a first adapter. A storage configuration module removes the first adapter from a storage subsystem configuration. A host configuration module adds the second adapter to the host operating system configuration. In one embodiment, a failover configuration module removes the first adapter from a failover driver configuration. The host configuration module adds the second adapter to the host operating system configuration. The storage configuration module adds the second adapter to the storage subsystem configuration. Further the failover configuration module may add the second adapter to the failover driver configuration. The identifier module retrieves an identifier from the second adapter in the form of a world-wide port number from the second adapter.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to adapter replacement and more particularlyrelates to automating adapter replacement.

2. Description of the Related Art

Data processing systems frequently employ adapter cards to performvariety of functions including providing communication interfacesbetween devices, providing data storage, and the like. For example, anadapter card may be configured as a Fibre Channel interface thatconnects a server to a plurality of storage devices. As used herein,adapter cards are referred to as adapters while a data processing devicethat hosts an adapter is referred to as a host. Adapters may beconfigured as printed circuit cards, integrated semiconductor devices,and the like. Hosts may be servers, computer workstations, storagecontrollers, and the like.

An administrator may replace an adapter when the adapter fails and/orshows signs of failing. For example, if an adapter fails a routinediagnostic test, the administrator may choose to replace the adapter.The administrator may power down the host and replace the adapter with areplacement adapter. As used herein, failed adapter refers to an adapterthat is failed, that is failing, and/or that is targeted for replacementsuch as during routine maintenance. Alternatively, the administrator mayremove the failed adapter and install the replacement while the host ispowered up, a process that is referred to herein as hot swapping.

Some adapters require considerable technical expertise to replace. Foran example, it may be difficult for the administrator to identify afailed adapter from among a plurality of adapters. In addition, both thefailed adapter and the replacement adapter may include uniqueidentifiers such as world-wide port names (WWPN). The administrator mayneed to reconfigure the host and any other devices connecting toreplacement adapter so the host and other devices stop communicatingwith the failed adapter and instead communicate with the replacementadapter.

SUMMARY OF THE INVENTION

From the foregoing discussion, there is a need for an apparatus, system,and method that automate adapter replacement. Beneficially, such anapparatus, system, and method would simplify adapter replacement andmake adapter replacement more reliable.

The present invention has been developed in response to the presentstate of the art, and in particular, in response to the problems andneeds in the art that have not yet been fully solved by currentlyavailable adapter card replacement methods. Accordingly, the presentinvention has been developed to provide an apparatus, system, and methodfor automating adapter card replacement that overcome many or all of theabove-discussed shortcomings in the art. The apparatus to automateadapter replacement is provided with a plurality of modules configuredto functionally execute the steps of receiving an identification of afirst adapter, removing the first adapter from a storage subsystemconfiguration, removing the first adapter from a host operating systemconfiguration, receiving a notification that the first adapter isreplaced with a second adapter, and adding the second adapter to thehost operating system configuration and to the storage subsystemconfiguration.

These modules in the described embodiments include an input module, astorage configuration module, and a host configuration module. Theapparatus may further include a failover configuration module, anindication module, a test module, an identifier module, and averification module.

The input module receives an identification of a first adapter. Thestorage configuration module removes the first adapter from a storagesubsystem configuration. The host configuration module removes the firstadapter from a host operating system configuration. In addition, theinput module may receive a notification that the first adapter isreplaced with a second adapter.

The failover configuration module may remove the first adapter from afailover driver configuration. In one embodiment, the indication moduleindicates the first adapter. The test module may determine that thefirst adapter is removed.

In one embodiment, the identifier module retrieves an identifier fromthe second adapter. The verification module may verify that the secondadapter is a suitable replacement for the first adapter. The hostconfiguration module adds the second adapter to the host operatingsystem configuration.

The storage configuration module adds the second adapter to the storagesubsystem configuration. The failover configuration module may add thesecond adapter to the failover driver configuration. The apparatusautomates adapter replacement to reduce errors when replacing adapters

A system of the present invention is also presented to automate adapterreplacement. The system may be embodied in a data processing system thatemploys adapter cards. The system includes a storage subsystem, afailover switch, a host operating system, and a computer. The computerincludes an input module, a storage configuration module, a failoverconfiguration module, and a host configuration module. The computer mayfurther include an indication module, test module, identifier module,and verification module.

The storage subsystem stores data. The failover switch is incommunication with the storage subsystem. The host operating system isin communication with the storage subsystem through the failover switch.The computer is in communication with the host operating system,failover switch, and storage subsystem.

The input module receives an identification of a first adapter thattransmits communications between the host operating system and thestorage subsystem. The storage configuration module removes the firstadapter from a storage subsystem configuration. The failoverconfiguration module removes the first adapter from a failover driverconfiguration. The host configuration module also removes the firstadapter from a host operating system configuration.

The indication module may indicate the first adapter. The test modulemay determine that the first adapter is removed. The verification moduleverifies that the second adapter is a suitable replacement for the firstadapter. The host configuration module adds the second adapter to thehost operating system configuration. The identifier module may retrievean identifier from the second adapter. The storage configuration moduleadds the second adapter to the storage subsystem configuration. Thefailover configuration module adds the second adapter to the failoverdriver configuration. The system automates adapter replacement, handlingfunctions that are prone to human error.

A method of the present invention is also presented for automatingadapter replacement. The method in the disclosed embodimentssubstantially includes the steps to carry out the functions presentedabove with respect to the operation of the described apparatus andsystem. In one embodiment, the method includes receiving anidentification of a first adapter, removing the first adapter from astorage subsystem configuration, removing the first adapter from a hostoperating system configuration, receiving a notification that the firstadapter is replaced with a second adapter, adding the second adapter tothe host operating system configuration, and adding the second adapterto the storage subsystem configuration. The method also may includeremoving the first adapter from a failover driver configuration, addingthe second adapter to the failover driver configuration, retrieving anidentifier from the second adapter, adding the second adapter to thehost operating system configuration, storage subsystem configuration,and failover driver configuration using the second adapter identifier,indicating the first adapter, and verifying that the first adapter isremoved. The method further includes verifying that the second adapteris a suitable replacement for the first adapter.

The input module receives an identification of a first adapter. Thestorage configuration module removes the first adapter from a storagesubsystem configuration. The failover configuration module may removethe first adapter from a failover driver configuration. The hostconfiguration module removes the first adapter from a host operatingsystem configuration.

The indication module may indicate the first adapter that is to bereplaced. In one embodiment, the test module verifies that the firstadapter is removed. The input module may receive a notification that thefirst adapter is replaced with a second adapter. In one embodiment, theverification module verifies that the second adapter is a suitablereplacement for the first adapter.

The host configuration module adds the second adapter to the hostoperating system configuration. The identifier module may retrieve anidentifier from the second adapter. The storage configuration moduleadds the second adapter to the storage subsystem configuration. In oneembodiment, the failover configuration module adds the second adapter tothe failover driver configuration.

The verification module may verify that intercommunications between ahost, the second adapter, a failover switch, and a storage subsystem.The method makes adapter replacement more reliable by automating thereplacement.

Reference throughout this specification to features, advantages, orsimilar language does not imply that all of the features and advantagesthat may be realized with the present invention should be or are in anysingle embodiment of the invention. Rather, language referring to thefeatures and advantages is understood to mean that a specific feature,advantage, or characteristic described in connection with an embodimentis included in at least one embodiment of the present invention. Thus,discussion of the features and advantages, and similar language,throughout this specification may, but do not necessarily, refer to thesame embodiment.

Furthermore, the described features, advantages, and characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize that theinvention may be practiced without one or more of the specific featuresor advantages of a particular embodiment. In other instances, additionalfeatures and advantages may be recognized in certain embodiments thatmay not be present in all embodiments of the invention.

The present invention provides an apparatus, system, and method thatautomate the adapter replacement. Beneficially, such an apparatus,system, and method would allow a data processing system to automaticallyidentify the adapter to be replaced, uninstall the adapter, verify thatthe correct replacement adapter is selected, and install the correctreplacement adapter. These features and advantages of the presentinvention will become more fully apparent from the following descriptionand appended claims, or may be learned by the practice of the inventionas set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a schematic block diagram illustrating one embodiment of adata processing system the present invention in accordance with thepresent invention;

FIG. 2 is a schematic block diagram illustrating one alternateembodiment of a data processing system of the present invention;

FIG. 3 is a schematic block diagram illustrating one embodiment of anautomated adapter replacement apparatus of the present invention; and

FIG. 4 is a schematic flow chart diagram illustrating one embodiment ofan automated adapter replacement method in accordance with presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more physical or logical blocks of computerinstructions, which may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve the stated purposefor the module.

Indeed, a module of executable code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, and across several memory devices.Similarly, operational data may be identified and illustrated hereinwithin modules, and may be embodied in any suitable form and organizedwithin any suitable type of data structure. The operational data may becollected as a single data set, or may be distributed over differentlocations including over different storage devices.

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

Furthermore, the described features, structures, or characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. In the following description, numerous specific details areprovided, such as examples of programming, software modules, userselections, network transactions, database queries, database structures,hardware modules, hardware circuits, hardware chips, etc., to provide athorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention may bepracticed without one or more of the specific details, or with othermethods, components, materials, and so forth. In other instances,well-known structures, materials, or operations are not shown ordescribed in detail to avoid obscuring aspects of the invention.

FIG. 1 depicts a schematic block diagram illustrating one embodiment ofa data processing system 100 in accordance with the present invention.The data processing system 100 includes one or more hosts 105, a hostoperating system 110, and a storage subsystem 115. The storage subsystem115 includes one or more storage controllers 120, and one or morestorage devices 125.

The system 100 includes a first adapter 130 that may periodicallyrequire replacement. The first adapter 130 is shown in electroniccommunication with a host 105. However, the first adapter 130 may alsoreside in the storage subsystem 115. The host 105 is computer hardwaresuch as a server, a mainframe computer, a computer workstation, a laptopcomputer, or the like. The storage subsystem 115 stores data in one ormore of storage devices 125. The host 105 is in electronic communicationwith storage subsystem 115 through the first adapter 130 to retrieve oradd data from and/or to the storage devices. The electroniccommunication may be wireless, through cables, and/or the like. Althoughfor simplicity three hosts 105, one host operating system 110, and onestorage subsystem 115 are shown, any number of hosts 105, host operatingsystems 110, and storage subsystems 115 may be employed.

FIG. 2 is a schematic block diagram illustrating one alternateembodiment of a data processing system 200 in accordance with thepresent invention. The data processing system 200 includes one or moreof hosts 105, a host operating system 110, a failover switch 205, and astorage subsystem 115. Although one failover switch 205 is depicted, anynumber of failover switches 205 may be employed. The storage subsystem115 includes one or more storage controllers 120, and one or morestorage devices 125.

The host 105 is in one embodiment computer hardware. The storagesubsystem 115 stores data in one or more of storage devices 125. Thehost 105 is in electronic communication with storage subsystem 115through the first adapter 130 and the failover switch 205. Theelectronic communication may be wireless or through cables and/or thelike. The failover switch 205 is configured to route electroniccommunications through a plurality of paths to the storage subsystem205. Thus if a first path through the failover switch 205 fails, thefailover switch 205 may automatically route communications through asecond path, maintaining communications between the hosts 105 and thestorage subsystem 115. In one embodiment, the first adapter 130 residesin the failover switch 205.

FIG. 3 is a schematic block diagram illustrating one embodiment of anautomated adapter replacement apparatus 300 of the present invention.The apparatus 300 automates the adapter replacement. The apparatus 300may be embodied in the systems 100, 200 of FIGS. 1 and 2 to automate theadapter replacement for data processing systems 100, 200. The automatedadapter replacement apparatus 300 includes an input module 305, astorage configuration module 310, a failover configuration module 315, ahost configuration module 320, an indication module 325, a test module330, a verification module 335, an identifier module 340, and an outputmodule 345. A second adapter 350 configured to replace the first adapter130 is also shown. The second adapter 350 may be functionally equivalentto the first adapter 130.

The input module 305 receives an identification of a first adapter 130.The identification may be a slot number, a part number, a world-wideport number, and the like. The input module 305 may include a keyboardand/or mouse and receive the identification from an administrator.Alternatively, the input module 305 may be a software interface that isconfigured to communicate with computer programs such as a diagnosticprogram. In a certain embodiment, the output module 345 communicates avisual or audio or audiovisual notification to the administrator suchas, “The first adapter is scheduled for replacement. Would you like toreplace it now? Please click yes for replacement.”

If the administrator clicks yes, the storage configuration module 310removes the first adapter 130 from a storage subsystem configuration.The storage subsystem configuration may include drivers, files listingadapters, and the like. In addition, the storage subsystem configurationmay organize communications to and from the storage subsystem 115. Inone embodiment, the storage configuration module 310 removes anidentifier for the first adapter 130 from a file of active adapters. Thestorage configuration module 310 may also remove one or more softwaredrivers for the first adapter 130. The removal of the first adapter 130,related identifier, and related software driver may be by removing thecorresponding program and/or utility files for the first adapter 130.

The host configuration module 320 removes the first adapter 130 from ahost operating system configuration. The host operating systemconfiguration may comprise a hardware configuration, softwareconfiguration, parameters, and other internal organization of the hostoperating system 110. In one embodiment, the host configuration module320 removes the first adapter 130 from host operating system by removingfiles corresponding to the first adapter 130 from the host operatingsystem. In a certain embodiment, the removal of files is automatic.

The host configuration module 320 further adds the second adapter 350 tothe host operating system configuration. In one embodiment, the hostconfiguration module 320 adds the second adapter 350 to host operatingsystem 110 by adding files corresponding to the second adapter 350 tothe host operating system 110. In an embodiment, the addition of filesis automatic.

The storage configuration module 310 also adds the second adapter 350 tothe storage subsystem configuration 115. In one embodiment, the storageconfiguration module 310 adds an identifier for the second adapter 350to a file of active adapters. The storage configuration module 310 mayalso add one or more software drivers for the second adapter 350.

The failover configuration module 315 removes the first adapter 130 froma failover driver configuration. The failover driver configuration mayspecify the organization of drivers for the failover switch 205. In oneembodiment, the failover configuration module 315 removes the firstadapter 130 from a failover driver configuration by removing thecorresponding files of a first adapter driver.

The failover configuration module 315 adds the second adapter 350 to thefailover driver configuration. In one embodiment, the failoverconfiguration module 315 adds the second adapter 350 to the failoverdriver configuration by adding the files corresponding to the secondadapter 350 to the failover driver configuration.

In one embodiment, the indication module 325 indicates the first adapter130. In an embodiment, the indication module 325 indicates visually oraudibly the presence of the first adapter 130. For example, theindication module 325 may illuminate one or more lights on the firstadapter 130.

In one embodiment, the test module 330 determines that the first adapter130 is removed. For example, the test module 330 may determine if thefirst adapter 130 is removed by attempting to query the first adapter130. If the first adapter 130 responds to the query, the test module 330may determine that the first adapter 130 is not removed. Alternatively,the input module 305 may receives a notification from the test module330 that the first adapter 130 is removed. For example, the input module305 may receive an electronic notification indicating the first adapteris replaced with second adapter 350.

The identifier module 340 may retrieve an identifier from the secondadapter 350. In an embodiment, the identifier is in the form of a partnumber, a world-wide port number, and the like from the second adapter.

The verification module 335 verifies that the second adapter 350 is asuitable replacement for the first adapter 130. In an embodiment, theverification module 335 verifies by comparing the part number, aworld-wide port number, and the like from of the second adapter 350 witha corresponding acceptable number, which already exists in a file ofacceptable numbers. The apparatus 300 identifies the first apparatus 130for removal and automatically configures a system 100, 200 to employ thesecond adapter 350.

The schematic flow chart diagram that follows is generally set forth asa logical flow chart diagram. As such, the depicted order and labeledsteps are indicative of one embodiment of the presented method. Othersteps and methods may be conceived that are equivalent in function,logic, or effect to one or more steps, or portions thereof, of theillustrated method. Additionally, the format and symbols employed areprovided to explain the logical steps of the method and are understoodnot to limit the scope of the method. Although various arrow types andline types may be employed in the flow chart diagrams, they areunderstood not to limit the scope of the corresponding method. Indeed,some arrows or other connectors may be used to indicate only the logicalflow of the method. For instance, an arrow may indicate a waiting ormonitoring period of unspecified duration between enumerated steps ofthe depicted method. Additionally, the order in which a particularmethod occurs may or may not strictly adhere to the order of thecorresponding steps shown.

FIG. 4 is a schematic flow chart diagram illustrating one embodiment ofautomated adapter replacement method 400 in accordance with the presentinvention. The method 400 substantially includes the steps to carry outthe functions presented above with respect to the operation of thedescribed apparatus 300 of FIG. 3 and systems 100, 200 of FIGS. 1 and 2,respectively. The description of the method 400 refers to elements ofFIGS. 1-3, like numbers referring to like elements.

The method 400 begins, and in one embodiment, the input module 305receives 405 an identification of the first adapter 130. Theidentification may be a part number, a world-wide port number, and thelike. A customer engineer and/or administrator may input theidentification to the input module 305. Alternatively, the input module305 may receive the identification from a diagnostic program. Forexample, an adapter diagnostic program may determine that the firstadapter 130 is likely to fail and communicate the identification with arequest that the first adapter 130 be replaced.

The storage configuration module 310 removes 410 the first adapter 130from a storage subsystem configuration. In one embodiment, the storageconfiguration module 310 removes an identifier for the first adapter 130from a file of active adapters. The storage configuration module 310 mayalso remove one or more software drivers for the first adapter 130.

The failover configuration module 315 may remove 415 the first adapter130 from failover driver configuration. The failover driverconfiguration may specify the organization of drivers for the failoverswitch 205. In one embodiment, the failover configuration module 315removes the first adapter 130 from the failover driver configuration byremoving the corresponding files of a first adapter driver.

The host configuration module 320 removes 420 the first adapter 130 froma host operating system configuration. In one embodiment, the hostconfiguration module 320 removes 420 the adapter from host operatingsystem by removing the identifier for the first adapter 130 from a filelisting adapters for the host operating system 110.

The indication module 325 indicates 425 the first adapter 130. In anembodiment, the indication module 325 indicates 425 visually or audiblythe presence of the first adapter 130. For example, the indicationmodule 325 may illuminate one or more lights on the first adapter 130.Alternatively, the indication module 325 may turn off all the lights onthe first adapter 130.

In one embodiment, the test module 330 determines 430 that the firstadapter 130 is removed. For example, the test module 330 may determine430 if the first adapter 130 is removed by attempting to query the firstadapter 130. If the first adapter 130 responds to the query, the testmodule 330 may determine that the first adapter 130 is not removed. Ifthe first adapter 130 is not removed, the test module 330 may loop todetermine 430 that the first adapter 130 is removed or not.

If the test module 330 determines 430 that the first adapter 130 isremoved, the verification module 335 verifies 440 that the secondadapter 350 is a suitable replacement for the first adapter 130. In anembodiment, the verification module 335 verifies 440 by comparing thepart number, a world-wide port number, and the like from the secondadapter 350 with corresponding acceptable number, which is stored in adata file. For example, the identifier module 335 may retrieve anidentifier from second adapter 350 in the form of part number, aworld-wide port number, and the like.

The second adapter 350 may be in electronic communication with anadapter driver configuration stored on a host 105. The adapter driverconfiguration may be in communication with the storage subsystem 115,which in turn may verify 440 the correct configuration of second adapter350 from the identifier.

If the verification module 335 does not verify 440 the second adapter,the verification module 335 notifies 435 the administrator that thesecond adapter 350 is not verified. In an embodiment, the verificationmodule 335 may communicate an audible, visual and/or audiovisualnotification through the output module 345, such as, “The second adapterdoes not match the characteristics of the first adapter. Please addanother adapter.”

If the verification module 335 verifies 440 the second adapter 350, thehost configuration module 320 adds 445 the second adapter 350 to hostoperating system configuration by adding drivers, configurationparameters, and configuration files to the host operating system. In anembodiment, host configuration module 320 may be in electroniccommunication with the storage subsystem 115 and add 445 the secondadapter 350 driver configuration by adding the drivers, configurationparameters, and configuration files. The addition of the files may beautomatic.

The identifier module 340 retrieves 450 an identifier from the secondadapter 350. In an embodiment, the identifier from second adapter 350may be in the form of a part number, a world-wide port number, and thelike. The storage configuration module 340 adds 455 the second adapter350 to a storage subsystem configuration. In one embodiment, the storageconfiguration module 340 adds 445 the identifier for the second adapter350 to a file of active adapters for the storage subsystem 115. Thestorage configuration module 340 may also install drivers, configurationparameters, and configuration files. The addition of identifier may beautomatic.

The failover configuration module 315 may add 460 the second adapter tothe failover driver configuration. In one embodiment, the failoverconfiguration module 315 adds 460 the second adapter 350 to the failoverdriver configuration by adding drivers, configuration parameters, andconfiguration files to the failover driver configuration. The secondadapter 350 may be in electronic communication with the failover driverconfiguration for addition of the drivers, configuration parameters, andconfiguration files to the failover driver configuration. The failoverdriver configuration may in turn be in electronic communication withhost operating system 110. The addition of the drivers, configurationparameters, and configuration files to the failover driver configurationmay be automatic.

The verification module 335 verifies 465 the working of the secondadapter 350. For example, the verification module 335 may transmit testmessages between the host 105, the failover switch 205 and the storagesubsystem 115 to verify proper function of the second adapter 350. Inone embodiment, the method 400 loops to replace any other adapter.

The present invention provides an apparatus, system, and method thatautomate the adapter replacement. Beneficially, such an apparatus,system, and method allow a data processing system to automaticallyidentify an adapter to be replaced, verify that a correct replacementadapter is selected and installed, and configure the replacementadapter.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges, which come within the meaning and range of equivalency of theclaims, are to be embraced within their scope.

1. An apparatus to automate adapter replacement, the apparatuscomprising: an input module comprising executable code stored on astorage device, executed by a processor, and configured to receive anidentification of a first adapter; a storage configuration modulecomprising executable code stored on the storage device, executed by theprocessor, and configured to remove the first adapter from a storagesubsystem configuration by removing an identifier for the first adapterfrom a file of active adapters and removing a software driver for thefirst adapter; a host configuration module comprising executable codestored on the storage device, executed by the processor, and configuredto remove the first adapter from a host operating system configurationby removing a corresponding file of the first adapter driver; anindication module comprising executable code stored on the storagedevice, executed by the processor, and configured to indicate the firstadapter by turning off all lights on the first adapter; the input modulefurther configured to receive a notification that the first adapter isreplaced with a second adapter; the host configuration module furtherconfigured to add the second adapter to the host operating systemconfiguration by adding a driver, configuration parameters, andconfiguration files for the second adapter to the host operating systemconfiguration; and the storage configuration module further configuredto add the second adapter to the storage subsystem configuration byadding an identifier for the second adapter to the file of activeadapters.
 2. The apparatus of claim 1, further comprising a failoverconfiguration module comprising executable code on the storage device,executed by the processor, and configured to remove the first adapterfrom a failover driver configuration.
 3. The apparatus of claim 2,wherein the failover configuration is further configured to add thesecond adapter to the failover driver configuration.
 4. The apparatus ofclaim 1, further comprising a test module comprising executable codestored on the storage device, executed by the processor, and configuredto determine that the first adapter is removed.
 5. The apparatus ofclaim 1, further comprising an identifier module comprising executablecode stored on the storage device, executed by the processor, andconfigured to retrieve the second adapter identifier from the secondadapter.
 6. The apparatus of claim 1, further comprising a verificationmodule comprising executable code stored on the storage device, executedby the processor, and configured to verify that the second adapter is asuitable replacement for the first adapter.
 7. A computer programproduct comprising a computer useable medium having a computer readableprogram, wherein the computer readable program when executed on acomputer causes the computer to: receive an identification of a firstadapter; remove the first adapter from a storage subsystem configurationby removing an identifier for the first adapter from a file of activeadapters and removing a software driver for the first adapter; removethe first adapter from a host operating system configuration by removinga corresponding file of the first adapter driver; indicate the firstadapter by turning off all lights on the first adapter; receive anotification that the first adapter is replaced with a second adapter;add the second adapter to the host operating system configuration byadding a driver, configuration parameters, and configuration files forthe second adapter to the host operating system configuration; and addthe second adapter to the storage subsystem configuration by adding anidentifier for the second adapter to the file of active adapters.
 8. Thecomputer program product of claim 7, wherein the computer readable codeis further configured to cause the computer to remove the first adapterfrom a failover driver configuration.
 9. The computer program product ofclaim 8, wherein the computer readable code is further configured tocause the computer to add the second adapter to the failover driverconfiguration.
 10. The computer program product of claim 9, wherein thecomputer readable code is further configured to cause the computer toretrieve an identifier from the second adapter and add the secondadapter to the failover driver configuration using the second adapteridentifier.
 11. The computer program product of claim 10, wherein thesecond adapter identifier is configured as a world wide port name. 12.The computer program product of claim 7, wherein the computer readablecode is further configured to cause the computer to verify that thefirst adapter is removed.
 13. The computer program product of claim 7,wherein the computer readable code is further configured to cause thecomputer to verify the intercommunications of the second adapter, astorage subsystem, and a host operation system.
 14. A system to automateadapter replacement, the system comprising: a storage subsystemconfigured to store data; a failover switch in communication with thestorage subsystem; a host operating system in communication with thestorage subsystem through the failover switch; a computer incommunication with the host operating system, failover switch, andstorage subsystem and comprising an input module comprising executablecode stored on a storage device, executed by a processor, and configuredto receive an identification of a first adapter that transmitscommunications between the host operating system and the storagesubsystem; a storage configuration module comprising executable codestored on the storage device, executed by the processor, and configuredto remove the first adapter from a storage subsystem configuration byremoving an identifier for the first adapter from a file of activeadapters and removing a software driver for the first adapter; afailover configuration module comprising executable code stored on thestorage device, executed by the processor, and configured to remove thefirst adapter from a failover driver configuration; a host configurationmodule comprising executable code stored on the storage device, executedby the processor, and configured to remove the first adapter from a hostoperating system configuration by removing a corresponding file of thefirst adapter driver; an indication module comprising executable codestored on the storage device, executed by the processor, and configuredto indicate the first adapter by turning off all lights on the firstadapter; the input module further configured to receive a notificationthat the first adapter is replaced with a second adapter; the hostconfiguration module further configured to add the second adapter to thehost operating system configuration by adding a driver, configurationparameters, and configuration files for the second adapter to the hostoperating system configuration; the storage configuration module furtherconfigured to add the second adapter to the storage subsystemconfiguration by adding an identifier for the second adapter to the fileof active adapters; and the failover configuration further configured toadd the second adapter to the failover driver configuration.
 15. Thesystem of claim 14, the computer further comprising a test modulecomprising executable code stored on the storage device, executed by theprocessor, and configured to test if the first adapter is removed. 16.The system of claim 15, the computer further comprising an identifiermodule comprising executable code stored on the storage device, executedby the processor, and configured to retrieve the second adapteridentifier from the second adapter.
 17. The system of claim 16, whereinthe second adapter identifier is configured as a world wide port name.18. The system of claim 17, the computer further comprising averification module comprising executable code stored on the storagedevice, executed by the processor, and configured to verify that thesecond adapter is a suitable replacement for the first adapter.